import useUserStore from '@/store/modules/user'

function authPermission(permission) {

  const permissions = useUserStore().permissions;
 // console.log(permissions.toString())
  if (permissions.length == 0) return false;
  if (permissions.includes('*:*:*') || permissions.includes(permission) || useUserStore().isAdmin) {
    return true
  }
  return false
}

function authRole(role) {
  const roles = useUserStore().roles;
  if (roles.includes(role) || useUserStore().isAdmin) {
    return true
  }
  return false
}

export default {
  authPermission,
  authRole,
  // 验证用户是否具备某权限
  hasPermi(permission) {
    return authPermission(permission);
  },
  // 验证用户是否含有指定权限，只需包含其中一个
  hasPermiOr(permissions) {
    return permissions.some(item => {
      return authPermission(item)
    })
  },
  // 验证用户是否含有指定权限，必须全部拥有
  hasPermiAnd(permissions) {
    return permissions.every(item => {
      return authPermission(item)
    })
  },
  // 验证用户是否具备某角色
  hasRole(role) {
    return authRole(role);
  },
  // 验证用户是否含有指定角色，只需包含其中一个
  hasRoleOr(roles) {
    return roles.some(item => {
      return authRole(item)
    })
  },
  // 验证用户是否含有指定角色，必须全部拥有
  hasRoleAnd(roles) {
    return roles.every(item => {
      return authRole(item)
    })
  }
}
